var app = getApp();
var WxParse = require('../../lib/wxParse/wxParse.js');
var util = require('../../utils/util.js');
var api = require('../../config/api.js');

Page({
  data: {
    id: 0,
    goods: {},
    gallery: [],
    attribute: [],
    issueList: [],
    comment: [],
    brand: {},
    iscoll: false,
    specificationList: [],
    productList: [],
    relatedGoods: [],
    cartGoodsCount: 0,
    userHasCollect: 0,
    collectUrl: '/static/images/icon_collect.png',
    number: 1,
    checkedSpecText: '请选择规格数量',
    openAttr: false,
    noCollectImage: "/static/images/icon_collect.png",
    hasCollectImage: "/static/images/icon_collect_checked.png",
    collectBackImage: "/static/images/icon_collect.png"
  },

  getGoodsInfo: function(option) {
    let that = this;
    let body = {
      goodsId: that.data.id,
    }
    if (util.session == undefined) {
      body.openId = "";
    } else {
      body.openId = util.session;
    }
    util.request(api.InfoUrl, body).then(function(res) {
      if (res[0].isCollection == 0) {
        that.setData({
          iscoll: false,
          collectUrl: '/static/images/icon_collect.png'
        })
      } else {
        that.setData({
          iscoll: true,
          collectUrl: '/static/images/icon_collect_checked.png'
        })
      }
      that.setData({
        goods: res[0],
        attribute: res[0]
      })
    })
    util.request(api.goodsImgUrl, {
      goodsId: that.data.id
    }).then(function(res) {
      that.setData({
        gallery: res
      })
    })
    // util.request(api.GoodsDetail, { id: that.data.id }).then(function (res) {
    //   if (res.errno === 0) {
    //     that.setData({
    //       goods: res.data.info,
    //       gallery: res.data.gallery,
    //       attribute: res.data.attribute,
    //       issueList: res.data.issue,
    //       comment: res.data.comment,
    //       brand: res.data.brand,
    //       specificationList: res.data.specificationList,
    //       productList: res.data.productList,
    //       userHasCollect: res.data.userHasCollect
    //     });

    //     if (res.data.userHasCollect == 1) {
    //       that.setData({
    //         'collectBackImage': that.data.hasCollectImage
    //       });
    //     } else {
    //       that.setData({
    //         'collectBackImage': that.data.noCollectImage
    //       });
    //     }

    //     WxParse.wxParse('goodsDetail', 'html', res.data.info.goods_desc, that);

    //     that.getGoodsRelated();
    //   }
    // });

  },
  getGoodsRelated: function() {
    let that = this;
    // util.request(api.GoodsRelated, { id: that.data.id }).then(function (res) {
    //   if (res.errno === 0) {
    //     that.setData({
    //       relatedGoods: res.data.goodsList,
    //     });
    //   }
    // });

  },
  clickSkuValue: function(event) {
    let that = this;
    let specNameId = event.currentTarget.dataset.nameId;
    let specValueId = event.currentTarget.dataset.valueId;

    //判断是否可以点击

    //TODO 性能优化，可在wx:for中添加index，可以直接获取点击的属性名和属性值，不用循环
    let _specificationList = this.data.specificationList;
    for (let i = 0; i < _specificationList.length; i++) {
      if (_specificationList[i].specification_id == specNameId) {
        for (let j = 0; j < _specificationList[i].valueList.length; j++) {
          if (_specificationList[i].valueList[j].id == specValueId) {
            //如果已经选中，则反选
            if (_specificationList[i].valueList[j].checked) {
              _specificationList[i].valueList[j].checked = false;
            } else {
              _specificationList[i].valueList[j].checked = true;
            }
          } else {
            _specificationList[i].valueList[j].checked = false;
          }
        }
      }
    }
    this.setData({
      'specificationList': _specificationList
    });
    //重新计算spec改变后的信息
    this.changeSpecInfo();

    //重新计算哪些值不可以点击
  },

  //获取选中的规格信息
  getCheckedSpecValue: function() {
    let checkedValues = [];
    let _specificationList = this.data.specificationList;
    for (let i = 0; i < _specificationList.length; i++) {
      let _checkedObj = {
        nameId: _specificationList[i].specification_id,
        valueId: 0,
        valueText: ''
      };
      for (let j = 0; j < _specificationList[i].valueList.length; j++) {
        if (_specificationList[i].valueList[j].checked) {
          _checkedObj.valueId = _specificationList[i].valueList[j].id;
          _checkedObj.valueText = _specificationList[i].valueList[j].value;
        }
      }
      checkedValues.push(_checkedObj);
    }

    return checkedValues;

  },
  //根据已选的值，计算其它值的状态
  setSpecValueStatus: function() {

  },
  //判断规格是否选择完整
  isCheckedAllSpec: function() {
    return !this.getCheckedSpecValue().some(function(v) {
      if (v.valueId == 0) {
        return true;
      }
    });
  },
  getCheckedSpecKey: function() {
    let checkedValue = this.getCheckedSpecValue().map(function(v) {
      return v.valueId;
    });

    return checkedValue.join('_');
  },
  changeSpecInfo: function() {
    let checkedNameValue = this.getCheckedSpecValue();

    //设置选择的信息
    let checkedValue = checkedNameValue.filter(function(v) {
      if (v.valueId != 0) {
        return true;
      } else {
        return false;
      }
    }).map(function(v) {
      return v.valueText;
    });
    if (checkedValue.length > 0) {
      this.setData({
        'checkedSpecText': checkedValue.join('　')
      });
    } else {
      this.setData({
        'checkedSpecText': '请选择规格数量'
      });
    }

  },
  getCheckedProductItem: function(key) {
    return this.data.productList.filter(function(v) {
      if (v.goods_specification_ids == key) {
        return true;
      } else {
        return false;
      }
    });
  },
  onLoad: function(options) {
    this.setData({
      id: parseInt(options.id)
      // id: 1181000
    });
    var that = this;
    this.getGoodsInfo();
    this.getCartCount();
    // util.request(api.CartGoodsCount).then(function (res) {
    //   if (res.errno === 0) {
    //     that.setData({
    //       cartGoodsCount: res.data.cartTotal.goodsCount
    //     });

    //   }
    // });
  },
  onReady: function() {
    // 页面渲染完成

  },
  onShow: function() {
    // 页面显示

  },
  onHide: function() {
    // 页面隐藏

  },
  onUnload: function() {
    // 页面关闭

  },
  switchAttrPop: function() {
    if (this.data.openAttr == false) {
      this.setData({
        openAttr: !this.data.openAttr
      });
    }
  },
  closeAttr: function() {
    this.setData({
      openAttr: false,
    });
  },
  addCannelCollect: function() {
    let that = this;
    //添加或是取消收藏
    // util.request(api.CollectAddOrDelete, { typeId: 0, valueId: this.data.id }, "POST")
    //   .then(function (res) {
    //     let _res = res;
    //     if (_res.errno == 0) {
    //       if (_res.data.type == 'add') {
    //         that.setData({
    //           'collectBackImage': that.data.hasCollectImage
    //         });
    //       } else {
    //         that.setData({
    //           'collectBackImage': that.data.noCollectImage
    //         });
    //       }

    //     } else {
    //       wx.showToast({
    //         image: '/static/images/icon_error.png',
    //         title: _res.errmsg,
    //         mask: true
    //       });
    //     }
    //   });
  },
  openCartPage: function() {
    wx.switchTab({
      url: '/pages/cart/cart',
    });
  },
  addToCart: function() {
    var that = this;
    if (this.data.openAttr === false) {
      //打开规格选择窗口
      this.setData({
        openAttr: !this.data.openAttr
      });
    } else {
      if (util.session == undefined) {
        wx.showModal({
          title: '失败',
          content: '请先登录',
          success: function(res) {
            if (res.confirm) {
              wx.switchTab({
                url: '/pages/ucenter/index/index',
              });
            } else if (res.cancel) {

            }
          }
        })
      } else {
        let body = {
          openId: util.session,
          goodsId: this.data.id,
          goodsNum: this.data.number,
          goodsPrice: this.data.goods.retailPrice
        }
        util.request(api.shopCartUrl, body, "GET")
          .then(function(res) {
            util.request(api.cartCount, {
                openId: util.session
              }, "GET")
              .then(function(res) {
                wx.showToast({
                  title: '添加成功',
                  icon: 'success',
                  duration: 2000
                })
                that.setData({
                  cartGoodsCount: parseInt(res[0].goodsNum)
                })
              })
          })
      }
    }

  },
  getCartCount: function() {
    var that = this;
    util.request(api.cartCount, {
        openId: util.session
      }, "GET")
      .then(function(res) {
        if (res[0].goodsNum == null) {
          that.setData({
            cartGoodsCount: 0
          })
        } else {
          that.setData({
            cartGoodsCount: parseInt(res[0].goodsNum)
          })
        }
      })
  },
  cutNumber: function() {
    this.setData({
      number: (this.data.number - 1 > 1) ? this.data.number - 1 : 1
    });
  },
  addNumber: function() {
    this.setData({
      number: this.data.number + 1
    });
  },
  addCollection: function() {
    let that = this;
    if (util.session == undefined) {
      wx.showToast({
        title: '请先登录',
        icon: 'none',
        duration: 2000
      })
    } else {
      let body = {
        openId: util.session,
        goodsId: that.data.id
      }
      if (that.data.iscoll == false) {
        util.request(api.addCollection, body, "GET")
          .then(function(res) {
            if (res > 0) {
              wx.showToast({
                title: '收藏成功',
                icon: 'success',
                duration: 2000
              })
              that.setData({
                collectUrl: '/static/images/icon_collect_checked.png',
                iscoll:true
              })
            } else {
              wx.showToast({
                title: '收藏失败',
                icon: 'none',
                duration: 2000
              })
            }
          })
      }else{
        util.request(api.cancelCollection, body, "GET")
          .then(function (res) {
            if (res > 0) {
              wx.showToast({
                title: '取消成功',
                icon: 'success',
                duration: 2000
              })
              that.setData({
                collectUrl: '/static/images/icon_collect.png',
                iscoll:false
              })
            } else {
              wx.showToast({
                title: '取消失败',
                icon: 'none',
                duration: 2000
              })
            }
          })
      }

    }
  },
  nowBuy:function(){
    // var that = this;
    // if (this.data.openAttr === false) {
    //   //打开规格选择窗口
    //   this.setData({
    //     openAttr: !this.data.openAttr
    //   });
    // } else {
    //   if (util.session == undefined) {
    //     wx.showModal({
    //       title: '失败',
    //       content: '请先登录',
    //       success: function (res) {
    //         if (res.confirm) {
    //           wx.switchTab({
    //             url: '/pages/ucenter/index/index',
    //           });
    //         } else if (res.cancel) {

    //         }
    //       }
    //     })
    //   } else {
    //       wx.navigateTo({
    //         url: '../shopping/checkout/checkout?count=' + this.data.number + '&sum=' + this.data.number * this.data.goods.retailPrice + '&goods=' + JSON.stringify(this.data.goods) + '&freight=' + 10
    // })
      
    //   }
    // }

  }
})